package test.test_7_3;
/*
题目描述：
1.定义一个Person类,并给出2参构造器
包括2个属性:
String name
int age
2.定义一个函数式接口 Creator，
该接口包含一个抽象方法 create ,该方法用于返回一个 Person 对象。
使用构造方法引用来实现这个接口。
并进行测试打印
 */
public class Demo02 {
    public static void main(String[] args) {
        Creator creatorPerson1 = () -> new Person();//lambda实现接口
        Person person1 = creatorPerson1.createPerson();
        person1.name = "wzx";
        person1.age = 25;
        System.out.println(person1);

        Creator2 creatorPerson2 = (String name,int age) -> new Person(name,age);//lambda实现接口
        Person person2 = creatorPerson2.createPerson("wzx",25);
        person2.name = "wzx";
        person2.age = 25;
        System.out.println(person2);

    }
}
class Person {
    String name;
    int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public Person() {
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

interface Creator {
    Person createPerson();
}
interface Creator2 {
    Person createPerson(String name,int age);
}
